home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol033 / regress.bas < prev    next >
Encoding:
BASIC Source File  |  1987-01-11  |  1.6 KB  |  66 lines

  1. 7300 '
  2. 7310 REM  LINEAR REGRESSION OF Y ON X - SUBROUTINE
  3. 7320 '
  4. 7330 '  NEED IN THE MAIN PROGRAM:
  5. 7340 '
  6. 7350 '    n = number of observations
  7. 7360 '    dim nx(n), ny(n)
  8. 7365 '    open "scrn:" for output as #3
  9. 7370 '
  10. 7380 '  INITILIZE SUMS
  11. 7390 '
  12. 7400 XSUM=0!: YSUM=0!  'sums
  13. 7410 XSS=0!: YSS=0!    'sums of squares
  14. 7420 XYS=0!            'sum of x*y
  15. 7430 A=0!: B=0!: R2=0!
  16. 7440 '
  17. 7450 '  CALCULATE SUMS, SUMS SQUARES, SUM X*Y
  18. 7460 '
  19. 7470 FOR I=1 TO N
  20. 7480   XSUM=NX(I)+XSUM
  21. 7490   XSS=NX(I)*NX(I)+XSS
  22. 7500   YSUM=NY(I)+YSUM
  23. 7510   YSS=NY(I)*NY(I)+YSS
  24. 7520   XYS=NX(I)*NY(I)+XYS
  25. 7530 NEXT I
  26. 7540 '
  27. 7550 '  CALCULATE SLOPE(B), INTERCEPT(A), R**2 (R2)
  28. 7560 '
  29. 7570 XSUM2=XSUM*XSUM
  30. 7580 YSUM2=YSUM*YSUM
  31. 7590 XSYS=XSUM*YSUM
  32. 7600 BN=XYS-(XSYS/N)
  33. 7610 BD=XSS-(XSUM2/N)
  34. 7620 B=BN/BD
  35. 7630 AI=YSUM/N
  36. 7640 AS=B*(XSUM/N)
  37. 7650 A=AI-AS
  38. 7660 RD2=YSS-(YSUM2/N)
  39. 7670 R2=BN*BN/(BD*RD2)
  40. 7680 '
  41. 7690 '  CALCULATE USUAL STATISTICS
  42. 7700 '
  43. 7710 XBAR=XSUM/N
  44. 7720 XDEV=SQR(BD/(N-1))
  45. 7730 YBAR=YSUM/N
  46. 7740 YDEV=SQR(RD2/(N-1))
  47. 7750 SQN=SQR(N)
  48. 7760 XERR=XDEV/SQN
  49. 7770 YERR=YDEV/SQN
  50. 7780 '
  51. 7790 '  PRINT OUT RESULTS
  52. 7800 '
  53. 7820 PRINT#3,: PRINT#3,"A =";A
  54. 7830 PRINT#3,"B =";B
  55. 7840 PRINT#3,"R-squared =";R2
  56. 7845 PRINT#3,"# observations =";N
  57. 7850 PRINT#3,
  58. 7860 PRINT#3,"Mean of X =";XBAR,"  Std. Dev. =";XDEV,"  Std.Err. =";XERR
  59. 7870 PRINT#3,"Mean of Y =";YBAR,"  Std. Dev. =";YDEV,"  Std.Err. =";YERR
  60. 7880 PRINT#3,
  61. 7890 PRINT#3,"Sum of X =";XSUM,"  Sums of squares =";XSS
  62. 7900 PRINT#3,"Sum of Y =";YSUM,"  Sums of squares =";YSS
  63. 7910 PRINT#3,"Sum of X * Y =";XYS
  64. 7920 RETURN
  65. s of squares =";XSS
  66. 7900 PRINT#3,"Sum of Y =";YSUM,"